import os
import sys
import cv2 #opencv读取的格式是BGR


def input_size():
    s = None
    sx = None
    sy = None
    print("请输入目标宽度和高度，用逗号隔开。例如：400,300或按比例缩放请输入s0.8,s0.8")
    str = input()#获取用户输入

    if str.count(',') == 1:#兼容中英文逗号
        str_arr = str.split(',')
    elif str.count('，') == 1:
        str_arr = str.split('，')

    if str_arr[0].startswith('s') and str_arr[1].startswith('s'):#按比例缩放
        sx = float(str_arr[0][1:])
        sy = float(str_arr[1][1:])
    else:
        s = (int(str_arr[0]),int(str_arr[1]))
    return s,sx,sy

def save_file(src_path,img):
    if not os.path.exists("export"):#保存图片
        os.mkdir("export")
    is_success = cv2.imwrite("export/"+os.path.basename(src_path),img)
    if is_success:
        print("保存成功，保存路径为："+os.path.abspath("export/"+os.path.basename(src_path)))
    else:
        print("保存失败")


if __name__ == '__main__':
    # test_path=None
    # test_path=('D:\\Desktop\\demo\\d.png')
    if len(sys.argv) < 2:#没有传入图片路径
        print("请将目标图片拖到该程序上")
        os.system('pause')
        sys.exit(0)
    try:
        size,scale_x,scale_y = input_size()#获取用户输入的宽高
        print(size)
        
        src_img_path_arr = []
        src_img_path_arr=sys.argv[1:] 

    
        for img_path in src_img_path_arr:
            print("读取图片"+img_path)
            img = cv2.imread(img_path)
            if img is None:
                print("读取图片失败，请检查路径是否正确")
                os.system('pause')
            img = cv2.resize(img,dsize=size,fx=scale_x,fy=scale_y)
            save_file(img_path,img)
            print("")
    
        os.system('pause')
    except Exception as e:
        print("程序异常，异常信息如下：")
        print(e)
        os.system('pause')
    









